XQuery is a popular language for querying XML data sources. XQuery access APIs enable an application to submit XQuery queries to an XML data source and process the results of these queries. Generally, most XQuery clients perform the following actions when accessing data: (a) connect to a data source, (b) prepare an XQuery expression, (c) bind values to variables, if necessary, (d) request execution of the XQuery expression against an XML data source, (e) receive a result sequence, and (f) iterate over the sequence, if desired. As used herein, the term “expression” in the context of an XQuery expression refers to, or is embodied in, an XQuery statement. In addition to allowing extraction of data from the data source, an XQuery access API may also allow and facilitate XML data manipulations and transactional operations, such as commit, rollback, and the like.
Most XQuery and other access APIs currently available rely on proprietary protocols. Generally, clients that interact with XQuery access APIs cannot do so over the Internet because, for one reason, proxy servers do not understand the proprietary protocol. Furthermore, the proprietary protocols require specialized ports and are not widely supported by other processors or applications. For example, use of proprietary protocols for an XQuery access API often restricts the API from being used inside thin clients, such as applets, PDAs, cell phones, and the like.
Based on the foregoing, there is a need for a more versatile XQuery access API.